package co.edu.javeriana.konigsberg.xavier.dao;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityTransaction;

import co.edu.javeriana.konigsberg.xavier.dao.desc.ObservacionDAOLocal;
import co.edu.javeriana.konigsberg.xavier.entidad.Observacion;

@Stateless
public class ObservacionDAO extends DAO<Observacion> implements ObservacionDAOLocal{

	@Override
	public List<Observacion> obtenerLista() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<Observacion> obtenerListaPorPadre(BigInteger idPrograma) {
		return (List<Observacion>) em.createNamedQuery("Observacion.findByParent").setParameter("idPrograma", idPrograma).getResultList();
	}

	@Override
	public Observacion obtenerPorId(BigInteger id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void guardar(Observacion observacion) {
		EntityTransaction tx = em.getTransaction();
		tx.begin();
		em.persist(observacion);
		tx.commit();
	}

	@Override
	public void actualizar(Observacion e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void eliminarObservaciones(BigInteger idPrograma) {
		EntityTransaction tx = em.getTransaction();
		tx.begin();
		em.createNamedQuery("Observacion.deleteByParent").setParameter("idPrograma", idPrograma).executeUpdate();
		tx.commit();
	}

}
